package com.dragon.modules.yuegou.entity.coupon;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.coupon.ShelfPlanStatus;
import com.dragon.modules.yuegou.enums.coupon.ShelfPlanType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.time.LocalDateTime;

/**
 * 优惠券上架计划实体类<br>
 * 对应的表为：coup_shelf_plan<br>
 * 
 * @author pbuilder generated
 * @date 2019-02-28 18:30:18
 * @company sgy
 * @version 2.0
 */
@TableName("coup_shelf_plan")
@ApiModel(description = "优惠券上架计划")
public class ShelfPlanEntity {

    /** 计划ID */
	@ApiModelProperty("计划ID")
	protected String id;

    /** 优惠券模板ID */
	@ApiModelProperty("优惠券模板ID")
	protected String couponTemplateId;

    /**  */
	protected String couponPackageTemplateId;

    /** 上架开始时间 */
	@ApiModelProperty("上架开始时间")
	protected LocalDateTime startTime;

    /** 上架结束时间 */
	@ApiModelProperty("上架结束时间")
	protected LocalDateTime endTime;

    /** 状态 */
	@ApiModelProperty("状态")
	protected ShelfPlanStatus status;

    /** 计划类型 */
	@ApiModelProperty("计划类型")
	protected ShelfPlanType type;

    /** 创建者 */
	@ApiModelProperty("创建者")
	protected String createdBy;

    /** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

    /** 修改人 */
	@ApiModelProperty("修改人")
	protected String modifiedBy;

    /** 修改时间 */
	@ApiModelProperty("修改时间")
	protected LocalDateTime modifiedTime;

    /** 是否删除（1：已删除，0：未删除） */
	@ApiModelProperty("是否删除（1：已删除，0：未删除）")
	protected Boolean del;

    /** 删除人 */
	@ApiModelProperty("删除人")
	protected String delBy;

    /** 删除时间 */
	@ApiModelProperty("删除时间")
	protected LocalDateTime delTime;

	/**
	 * 构造一个空优惠券上架计划实体对象
	 */
	public ShelfPlanEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个优惠券上架计划实体对象
	 * 
	 * @param other 其它对象
	 */
	public ShelfPlanEntity(ShelfPlanEntity other){
		super();
     	this.id = other.id;
     	this.couponTemplateId = other.couponTemplateId;
     	this.couponPackageTemplateId = other.couponPackageTemplateId;
     	this.startTime = other.startTime;
     	this.endTime = other.endTime;
     	this.status = other.status;
     	this.type = other.type;
     	this.createdBy = other.createdBy;
     	this.createdTime = other.createdTime;
     	this.modifiedBy = other.modifiedBy;
     	this.modifiedTime = other.modifiedTime;
     	this.del = other.del;
     	this.delBy = other.delBy;
     	this.delTime = other.delTime;
	}


	/**
	 * 获取计划ID
	 * 
	 * @return id 计划ID
	 */
	public String getId() {
    	return id;
    }
  	
	/**
	 * 设置计划ID
	 * 
	 * @param id 计划ID
	 */
	public void setId(String id) {
    	this.id = id;
    }

	/**
	 * 获取优惠券模板ID
	 * 
	 * @return couponTemplateId 优惠券模板ID
	 */
	public String getCouponTemplateId() {
    	return couponTemplateId;
    }
  	
	/**
	 * 设置优惠券模板ID
	 * 
	 * @param couponTemplateId 优惠券模板ID
	 */
	public void setCouponTemplateId(String couponTemplateId) {
    	this.couponTemplateId = couponTemplateId;
    }

	/**
	 * 获取
	 * 
	 * @return couponPackageTemplateId 
	 */
	public String getCouponPackageTemplateId() {
    	return couponPackageTemplateId;
    }
  	
	/**
	 * 设置
	 * 
	 * @param couponPackageTemplateId 
	 */
	public void setCouponPackageTemplateId(String couponPackageTemplateId) {
    	this.couponPackageTemplateId = couponPackageTemplateId;
    }

	/**
	 * 获取上架开始时间
	 * 
	 * @return startTime 上架开始时间
	 */
	public LocalDateTime getStartTime() {
    	return startTime;
    }
  	
	/**
	 * 设置上架开始时间
	 * 
	 * @param startTime 上架开始时间
	 */
	public void setStartTime(LocalDateTime startTime) {
    	this.startTime = startTime;
    }

	/**
	 * 获取上架结束时间
	 * 
	 * @return endTime 上架结束时间
	 */
	public LocalDateTime getEndTime() {
    	return endTime;
    }
  	
	/**
	 * 设置上架结束时间
	 * 
	 * @param endTime 上架结束时间
	 */
	public void setEndTime(LocalDateTime endTime) {
    	this.endTime = endTime;
    }

	/**
	 * 获取状态
	 * 
	 * @return status 状态
	 */
	public ShelfPlanStatus getStatus() {
    	return status;
    }
  	
	/**
	 * 设置状态
	 * 
	 * @param status 状态
	 */
	public void setStatus(ShelfPlanStatus status) {
    	this.status = status;
    }

	/**
	 * 获取计划类型
	 * 
	 * @return type 计划类型
	 */
	public ShelfPlanType getType() {
    	return type;
    }
  	
	/**
	 * 设置计划类型
	 * 
	 * @param type 计划类型
	 */
	public void setType(ShelfPlanType type) {
    	this.type = type;
    }

	/**
	 * 获取创建者
	 * 
	 * @return createdBy 创建者
	 */
	public String getCreatedBy() {
    	return createdBy;
    }
  	
	/**
	 * 设置创建者
	 * 
	 * @param createdBy 创建者
	 */
	public void setCreatedBy(String createdBy) {
    	this.createdBy = createdBy;
    }

	/**
	 * 获取创建时间
	 * 
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
    	return createdTime;
    }
  	
	/**
	 * 设置创建时间
	 * 
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
    	this.createdTime = createdTime;
    }

	/**
	 * 获取修改人
	 * 
	 * @return modifiedBy 修改人
	 */
	public String getModifiedBy() {
    	return modifiedBy;
    }
  	
	/**
	 * 设置修改人
	 * 
	 * @param modifiedBy 修改人
	 */
	public void setModifiedBy(String modifiedBy) {
    	this.modifiedBy = modifiedBy;
    }

	/**
	 * 获取修改时间
	 * 
	 * @return modifiedTime 修改时间
	 */
	public LocalDateTime getModifiedTime() {
    	return modifiedTime;
    }
  	
	/**
	 * 设置修改时间
	 * 
	 * @param modifiedTime 修改时间
	 */
	public void setModifiedTime(LocalDateTime modifiedTime) {
    	this.modifiedTime = modifiedTime;
    }

	/**
	 * 获取是否删除（1：已删除，0：未删除）
	 * 
	 * @return del 是否删除（1：已删除，0：未删除）
	 */
	public Boolean getDel() {
    	return del;
    }
  	
	/**
	 * 设置是否删除（1：已删除，0：未删除）
	 * 
	 * @param del 是否删除（1：已删除，0：未删除）
	 */
	public void setDel(Boolean del) {
    	this.del = del;
    }

	/**
	 * 获取删除人
	 * 
	 * @return delBy 删除人
	 */
	public String getDelBy() {
    	return delBy;
    }
  	
	/**
	 * 设置删除人
	 * 
	 * @param delBy 删除人
	 */
	public void setDelBy(String delBy) {
    	this.delBy = delBy;
    }

	/**
	 * 获取删除时间
	 * 
	 * @return delTime 删除时间
	 */
	public LocalDateTime getDelTime() {
    	return delTime;
    }
  	
	/**
	 * 设置删除时间
	 * 
	 * @param delTime 删除时间
	 */
	public void setDelTime(LocalDateTime delTime) {
    	this.delTime = delTime;
    }

    public String toString() {
		return new StringBuilder().append("ShelfPlanEntity{").
			append("id=").append(id).
			append(",couponTemplateId=").append(couponTemplateId).
			append(",couponPackageTemplateId=").append(couponPackageTemplateId).
			append(",startTime=").append(startTime).
			append(",endTime=").append(endTime).
			append(",status=").append(status).
			append(",type=").append(type).
			append(",createdBy=").append(createdBy).
			append(",createdTime=").append(createdTime).
			append(",modifiedBy=").append(modifiedBy).
			append(",modifiedTime=").append(modifiedTime).
			append(",del=").append(del).
			append(",delBy=").append(delBy).
			append(",delTime=").append(delTime).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public ShelfPlanEntity copy() {
		return new ShelfPlanEntity(this);
	}

    /** 计划ID */
	public static final String COL_ID = "id";

    /** 优惠券模板ID */
	public static final String COL_COUPON_TEMPLATE_ID = "couponTemplateId";

    /**  */
	public static final String COL_COUPON_PACKAGE_TEMPLATE_ID = "couponPackageTemplateId";

    /** 上架开始时间 */
	public static final String COL_START_TIME = "startTime";

    /** 上架结束时间 */
	public static final String COL_END_TIME = "endTime";

    /** 状态 */
	public static final String COL_STATUS = "status";

    /** 计划类型 */
	public static final String COL_TYPE = "type";

    /** 创建者 */
	public static final String COL_CREATED_BY = "createdBy";

    /** 创建时间 */
	public static final String COL_CREATED_TIME = "createdTime";

    /** 修改人 */
	public static final String COL_MODIFIED_BY = "modifiedBy";

    /** 修改时间 */
	public static final String COL_MODIFIED_TIME = "modifiedTime";

    /** 是否删除（1：已删除，0：未删除） */
	public static final String COL_DEL = "del";

    /** 删除人 */
	public static final String COL_DEL_BY = "delBy";

    /** 删除时间 */
	public static final String COL_DEL_TIME = "delTime";
}
